Pour mettre en couleur le mot
〈〈 bonjour
〉〉 dans cette phrase,
il suffit de baliser le mot par \begincolor{255}{0}{0}
(ou
\bcrouge
) et \endcolor
(ou \ec
) pour obtenir
bonjour . De la même façon, on peut
baliser des traits, des flêches de l'environnement \picture
Par exemple, le trait qui suit est codé de la manière suivante :
\bcbleu %un trait bleu de longueur 8cm \hrule height 2pt width 8cm %et d'epaisseur 2pt \ec
to 92pt to 8cm
Voici un exemple d'utilisation de la macros \echelon
avec
initialisation des couleurs et des incréments de chaque couleur. Les
couleurs sont initialisées avec la valeur 20 et on désire qu'elles
croissent jusqu'à la valeur 210 par saut de 40 entre chaque caractères
(modulo = 1).
{% debut de groupe \Huge\bf % rouge=bleu=vert=20 % maxrouge=maxvert=maxbleu=210 % chaque caractere change de couleur \initcolor{20}{20}{20}{210}{210}{210}{1} % increrouge=increvert=increbleu=40 \initinc{40}{40}{40} \echelon{la\ fonction\ echelon} }% fin du groupe
=20&vert#vert;=20=20=1=20=20=20=210=210=210 =40=40=40 =200=1la fonction echelonla fonction echelon]>< by by - < &vert#vert;by &vert#vert;by - < by by - by 0by 2by 1 < >= <=< &vert#vert;>&vert#vert;= &vert#vert;<&vert#vert;=< >= <=la fonction echelon=la fonction echelon]
to 92pt to 8cm
Pour construire des boîtes dont le fond est en couleur, et le texte sur deux colonnes dans une autre couleur, nous programmons :
\setbox2=\vbox{\hsize=0.485\textwidth Dans un article r\'ecent \cite{cc}, nous pr\'esentions les avantages d'utilisation de la couleur dans le traitement de texte \TeX\ au travers de deux jeux de macros~: Color\TeX rgb et color\TeX cmyk fonctionnant pour les imprimantes couleur PostScript des constructeurs QMS, Oc\'e, Hitachi, Sei\-ko. identifi\'es suivants~: action sur une entit\'e syntaxique (lettre, mot, phrase, paragraphe) ; et action sur une entit\'e graphique~: vecteur ou fl\`eche de l'environnement {\bf picture} de \LaTeX . \par }% fin de la bo\^\i te numero 2 % on annule le blanc interbo\^\i te \splittopskip=0pt % on coupe la bo\^\i te 2 en deux selon la hauteur % et on range dans la bo\^\i te 1 \setbox1=\vsplit2 to 0.5\ht2% \setbox1=\vbox{\unvbox1}% % on pose sur la feuille les deux bo\^\i tes \hbox{\boxcolor{\box1}{200}{255}{255}\quad\vrule\quad \boxcolor{\box2}{50}{255}{255}}
On remarque que le texte est collé sur le bord de la boîte en
couleur ; pour ajouter du blanc, il faut utiliser la variable LATEX \fboxsep
.
2==0.485Dans un article récent [1], nous présentions les avantages d'utilisation de la couleur dans le traitement de texte TEX au travers de deux jeux de macros : ColorTEXrgb et colorTEXcmyk fonctionnant pour les imprimantes couleur PostScript des constructeurs QMS, Océ, Hitachi, Seiko.
Dans cet article, nous discutions de la couleur en général, comment la spécifier, la représenter, puis, nous dégagions des classes de problèmes qui appellent des classes de solutions communes, des algorithmes communs. Cela nous conduisait à proposer un ensemble minimal de primitives permettant de résoudre les problèmes identifiés suivants : action sur une entité syntaxique (lettre, mot, phrase, paragraphe) ; et action sur une entité graphique : vecteur ou flèche de l'environnement picture de LATEX.
=0pt 1=2 to 0.52 1=1myboxbmydimb myboxb1mydimbmydimbmyboxbmydimb=myboxb=myboxbwidthmyboxb-myboxb myboxb myboxbmydimb myboxb2mydimbmydimbmyboxbmydimb=myboxb=myboxbwidthmyboxb-myboxb myboxb
to 92pt to 8cm
Nous présentons maintenant le codage d'un tableau avec les pourtours en
magenta. On notera l'utilisation de la macro \halign
avec la
séquence \bcmagenta\tvc#\endcolor&
ce qui provoque un passage à
la couleur magenta pour tous les traits verticaux séparant les colonnes.
Pour une explication détaillée de la séquence #&
dans
l'environnement d'un \halign
, le lecteur est invité à se
reporter à [7], pages 126 et suivantes.
$$\vbox{\offinterlineskip \def\cc#1{\kern .2em\hfill\raise 1.5mm% \hbox{#1}\hfill\kern .2em} \def\tvi{\vrule height 24pt depth 2pt width 0pt} \def\tvc{\tvi\vrule width 1mm} \halign{\bcmagenta\tvc#\endcolor&% &\cc{$\displaystyle#$}&\bcmagenta\tvc#\endcolor\cr \noalign{\bcmagenta\hrule height 1mm\endcolor} &\omit\cc{\bf Fonction}&&\omit\cc{\bf Primitive}&\cr \noalign{\bcmagenta\hrule height 1mm\endcolor} height 34pt depth 30pt&{ 1 \over 1 + x^2 }&&{\rm Arctg}\,(x)+C&\cr \noalign{\bcmagenta\hrule height 1mm\endcolor} }}$$
to 92pt to 8cm
Pour coder une boîte en couleur avec un cadre dans une autre couleur :
{\Large \fboxsep=0pt% on initialise le blanc \fboxrule=3pt% la dimension du cadre est de 3pt \fboxcolor{\fboxsep=8pt\fboxrule=0pt \boxcolor{du texte en noir}% {255}{255}{0}}{255}{0}{0} }
=0pt=3pttempboxa=8pt=0ptmyboxbmydimb myboxbdu texte en noirmydimbmydimbmyboxbmydimb=myboxb=myboxbwidthmyboxb-myboxb myboxbtempdimatempdima tempdimatempboxatempdima
to 92pt to 8cm
Pour tracer un cercle avec des dégradés concentriques qui partent de la couleur rouge jusqu'au noir en décalant le centre (effet boule dégradée), on programme :
100= #& #& # & LRI& LRI& LRI& LRI & LRI& =50pt=50pt
\setbox100=\vbox{\Huge\bf \halign{\quad#&\quad#&\quad#\cr \begincolor{255}{255}{255} & LRI& \cr LRI& LRI& LRI\cr & LRI& \cr} \endcolor} \xtrans=50pt% on decale le centre de 50pt vers la droite \ytrans=50pt% et 50pt vers le haut \CercleGeneral{\copy100}{255}{0}{0}{0}{0}{0}{10}
to 92pt to 8cm
Pour tracer une boîte dont le contenu est dégradé, on programme :
101==0.68Dans un article récent, nous présentions
les avantages d'utilisation de la couleur dans le
traitement de texte TEX au travers de deux jeux
de macros : ColorTEXrgb et colorTEXcmyk fonctionnant
pour les imprimantes couleur PostScript des constructeurs
QMS, Océ, Hitachi, Seiko.
\setbox10=\vbox{\hsize=0.6\textwidth\bf \begincolor{255}{255}{255}% texte blanc Dans un article r\'ecent, nous pr\'esentions les avantages d'utilisation de la couleur dans le traitement de texte \TeX\ au travers de deux jeux de macros~: Color\TeX rgb et color\TeX cmyk fonctionnant pour les impri\-man\-tes couleur PostScript des constructeurs QMS, Oc\'e, Hitachi, Seiko. \par } \horizontaltrue % des degrades de haut en bas \centerline{% \RectangleDegrade{\copy10}{255}{255}{0}{0}{0}{0}{50}}
to 92pt to 8cm
Pour tracer les courbes de bezier des figures et
, on pourra marquer avec
Pictex
ou TexCad
les points définissant les tangentes, puis récupérer la
valeur de ces points sous éditeur et programmer :
\begin{figure}[th] \begin{center} \unitlength=1.00mm \linethickness{0.4pt} \begin{picture}(74.00,61.00) \put(0.00,0.00){\framebox(74.00,61.00)[t]{}} \put(3.97,10.00){\vector(1,0){28.10}} .... % debut de la premiere courbe de bezier (celle de gauche) \put(0,0){\bezierps [ [ 2.06 36.98 6.03 39.00 10.95 39.00 14.03 29.02][14.03 29.02 19.05 16.06 23.02 16.98 30.00 13.97]] \endbezierps{.4}{3}{2}{255}{0}{0}} % fin de la premiere courbe de bezier (celle de droite) % debut de la 2 courbe de bezier (celle de gauche) \put(0,0){\bezierps [[33.97 39.00 37.94 39.00 40.00 37.94 42.06 34.92] [42.06 34.92 44.92 26.98 50.95 16.98 66.98 12.06]] \endbezierps{.4}{3}{2}{255}{0}{0}} % fin de la 2 courbe de bezier % je place un cercle hachure \put(6.03,38){\CercleHachure{4.5}{.5}{.1}{60}{255}{60}{255}{2}} \put(42,35){\CarreHachure{4}{.6}{.1}{135}{255}{0}{255}{1}} .... \put(6.03,54){\makebox(0,0)[cc]{$f(x)$}} \put(42,54){\makebox(0,0)[cc]{$f(x)$}} \end{picture} \caption{{\it extremum particulier}} \label{extre} \end{center} \end{figure}
\begin{figure}[th] \begin{center} \unitlength=1.00mm \linethickness{0.4pt} \begin{picture}(74.00,61.00) \put(0.00,0.00){\framebox(74.00,61.00)[t]{}} .... % debut de la courbe de bezier \put(0,0){\bezierps [ [ 16.03 14.92 20.00 16.03 26.98 39.05 33.97 43.02 ] [ 33.97 43.02 42.06 40.95 43.97 20.95 47.94 19.05 ] [ 47.94 19.05 52.06 20.95 54.92 49.05 56.98 52.06 ] [ 56.98 52.60 60.00 49.05 62.06 32.06 64.92 17.94 ] ] \endbezierps{.4}{2}{.5}{255}{0}{0}} .... \end{picture} \caption{{\it extremums locaux et globaux}} \label{extretwo} \end{center} \end{figure}
to 92pt to 8cm
Pour tracer des objets quelconques au moyen de courbes de Bezier dont le fond est en couleur, nous programmons :
\begin{figure} \begin{center} \unitlength=1.00mm \linethickness{0.4pt} \begin{picture}(124,100) \put(0,0){\framebox(124,100)[cc]{}} \put(20,80){\makebox(0,0)[cc]{\Large\bf\LaTeX}} \put(97,5){\makebox(0,0)[cc]{\small $\copyright - lri - 1991$}} % Definition de la couleur du contour. % Le trait est en pointille. \rouge=255\vert=0\bleu=255\dashpstrue \put(0.00,0.00){\CourbeFermee [ [ 20 10 10 50 25 75 50 80 ] [ 50 80 25 55 20 10 0 0 ] ] \endcourbe{1}{1}{1}{255}{0}{0}} % Le contour n'est plus en pointille \dashpsfalse\closepathfalse \rouge=0\vert=0\bleu=255 \put(0.00,0.00){\CourbeFermee [ [ 70 10 5 90 30 75 40 40 ] ] \endcourbe{1}{1}{1}{255}{255}{0}} \end{picture} \caption{{\it Des courbes remplies}} \label{f:remplie} \end{center} \end{figure}
qui produit le résultat de la figure
to 92pt to 8cm
Pour placer du texte le long de courbes de Bezier il faut programmer, par
exemple, qui produit le résultat de la figure :
\Huge\bf \BlancInterLettre=1% 1 mm entre les lettres \begin{figure}[htp] \begin{center} \unitlength=1.00mm \linethickness{0.4pt} \begin{picture}(95,70) \put(0,0){\TraceTexte{TraceTexte} {5}{65}{15}{35}{35}{35}{90}{65}} \put(0,0){\ColleTexte{ColleTexte} {5}{5}{15}{35}{15}{35}{81}{5}} \put(0.00,0.00){\framebox(95,70)[cc]{}} \end{picture} \caption{{\it courbes sur un texte}} \label{fd:one} \end{center} \end{figure}
=1